var roomnumber = document.getElementsByClassName('roomnumber')[0];
var phone = document.getElementsByClassName('phone')[0];
var button = document.getElementsByClassName('button1')[0];
var wrong1 = document.getElementsByClassName('wrong1')[0];
var wrong2 = document.getElementsByClassName('wrong2')[0];
var wrong3 = document.getElementsByClassName('wrong3')[0];


//onsubmit 事件
function submitTest(){
	var check_room = room(); //执行验证宿舍号的函数
	var check_address = putin(); //执行验证联系方式输入框的函数
	if(check_room && check_address){
		return true;
	}
	else{
		return false;
	}
}

//判定是否输入联系方式
function putin(){
	if(phone.value.length == 0){//判断联系方式输入框是否为空
		return true;
	}
	else{
		addr = phone.value;
		return address(addr);
	}
}

//验证寝室号
function room(){
	var room_num = roomnumber.value;
	var length = room_num.length;
	if((length === 6) || (length === 5)){
		var result = checkout(room_num,length);
		return result;
	}
	else{
		wrong1.style.display = 'block';
		return false;

	}
}

function checkout(room_num,length){
	var head_char = room_num.substr(0,1)
	if (length === 5){
		if ("yY".match(head_char)){
			wrong1.style.display = 'none';
			return true;
		}
		else{
			console.log(room_num)
			wrong1.style.display = 'block';
			return false;
		}
	}
	else{
		if ("yY0123".match(head_char)){
			wrong1.style.display = 'none';
			return true;
		}
		else{
			console.log(room_num)
			wrong1.style.display = 'block';
			return false;}
		}
}


//验证联系方式
function address(addr){
	var re = /[^\._-][\w\.-]+@(?:[A-Za-z0-9]+\.)+[A-Za-z]+$|^0\d{2,3}\d{7,8}$|^1[358]\d{9}$|^147\d{8}$/;
	/*    说明：
    [^\._-][\w\.-]+@(?:[A-Za-z0-9]+\.)+[A-Za-z]+$匹配邮箱。
    综合目前国内常用的邮箱，大概通用的规则包括：
    1、[^\._]，不能以下划线和句点开头。
    2、[\w\.]+，包括字母、数字。而对句点及下划线各提供商有差别，对此有效性不做更严格的判断。
    3、@是必须的。
    4、(?:[A-Za-z0-9]+\.)+[A-Za-z]+$，@后以xxx.xxx结尾，考虑到多级域名，会有这种情况xxx.xxx.xxx如xxx@yahoo.com.cn

    ^0\d{2,3}\d{7,8}$|^1[358]\d{9}$|^147\d{8}$匹配电话号码。
    只考虑国内的情况,大概通用的规则包括：
    1、^0\d{2,3}，固定电话区号3-4位数字，以0开头。
    2、d{7,8}$，固定电话一般7-8位数字。
    3、国内目前的手机号码都是11位数字，三大运营商的号码段基本都在上面列出来了，我们这里除了147的号码的段，其他的都只考虑前两位，
    第三位就不考虑了，否则，工作量也很大。前两位包括13*、15*、18*。*/
	var matc_resul = (re.test(addr));//进行正则匹配
	if (matc_resul){
		wrong2.style.display = "none";
	}
	else{
		wrong2.style.display = "block";
	}
	return matc_resul;
}